package com.jhx.demos.web.controller;

import com.jhx.demos.web.pojo.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.UUID;

@Slf4j
@RestController
public class UploadController {
//接收到了表单的数据
    @PostMapping("/upload")
     public Result upload(String username , Integer age , MultipartFile image) throws IOException {
        log.info("文件上传：{} {} {}",username,age,image);
        //获取原始文件名

        String originalFilename = image.getOriginalFilename();//获取原始文件名


        //构造唯一的文件名(不能重复) -uuid(通用唯一识别码) dd7106e7-29b3-4f99-8847-06882f6a8e28
        int index = originalFilename.lastIndexOf(".");//获取最后一个.所处的位置
        String extname = originalFilename.substring(index);//调用字符串截取方法将index传递进来  获取文件的拓展名
        String newFileName = UUID.randomUUID().toString()+extname;//获取UUID并拼接文件后缀extname
        log.info("新的文件名: {}", newFileName);

        //将接收到的文件存储在磁盘目录当中E://images
        image.transferTo(new File("E:\\image\\"+newFileName));//调用此方法会将文件转存到磁盘文件将原始文件名拼接到此路径


        return Result.success();
    }
}
